package com.iwhalecloud.citybrain.flow.platform.manager.domain.repository;

import com.iwhalecloud.citybrain.flow.platform.manager.domain.model.FlowParticipantInfoVo;

import java.util.List;

/**
 * @author lilh
 * @date 2019-02-19 21:31
 */
public interface FlowParticipantRepository {

    /**
     * 新增
     *
     * @param entity 实体
     * @return 新增条数
     */
    int insertParticipant(FlowParticipantInfoVo entity);


    /**
     * 根据participantId查询
     *
     * @param participantId id
     * @return 查询结果
     */
    FlowParticipantInfoVo findByParticipantId(String participantId);

    /**
     * 根据候选组id查询候选组信息
     *
     * @param candidateGroups 候选组id
     * @return 候选组信息
     */
    List<FlowParticipantInfoVo> listByParticipantIds(List<String> candidateGroups);

    /**
     * 新增
     *
     * @param entity 实体
     * @return 新增条数
     */
    int insertParticipantInfo(FlowParticipantInfoVo entity);

    /**
     * 根据participantId和participantType查询
     *
     * @param participantId id
     * @param participantTypeList
     * @return 查询结果
     */
    List<FlowParticipantInfoVo> findByParticipantIdAndType(String participantId, List<String> participantTypeList);


    /**
     * 根据候选人编号和类型查询候选人信息
     * @param participantId
     * @param type
     * @return
     */
    FlowParticipantInfoVo findByIdAndType(String participantId,String type);
}
